libbpf: fix readelf output parsing on powerpc with recent binutils
authorAurelien Jarno <aurelien@aurel32.net>
Sun, 1 Dec 2019 19:35:55 +0000 (20:35 +0100)
committerSalvatore Bonaccorso <carnil@debian.org>
Thu, 13 Feb 2020 05:14:49 +0000 (05:14 +0000)
commit04277780776a705984824dad1b344c37fbc42044
tree0a890909fe976f871432e7179311505b9647d439
parentf7a763eec7044ca46c4fa966f849a137497fc7e9
libbpf: fix readelf output parsing on powerpc with recent binutils

Origin: https://lore.kernel.org/patchwork/patch/1161149/

On powerpc with recent versions of binutils, readelf outputs an extra
field when dumping the symbols of an object file. For example:

    35: 0000000000000838    96 FUNC    LOCAL  DEFAULT [<localentry>: 8]     1 btf_is_struct

The extra "[<localentry>: 8]" prevents the GLOBAL_SYM_COUNT variable to
be computed correctly and causes the checkabi target to fail.

Fix that by looking for the symbol name in the last field instead of the
8th one. This way it should also cope with future extra fields.

Signed-off-by: Aurelien Jarno <aurelien@aurel32.net>
Gbp-Pq: Topic bugfix/ppc64el
Gbp-Pq: Name libbpf-fix-readelf-output-parsing-on-powerpc-with-re.patch
tools/lib/bpf/Makefile